package structural.adapter.byobject;

/**
 * 这是对象适配器模式的写法。他直接实现了目标接口的所有方法，
 * 但是，这个适配器需要传入已经提供部分功能的源对象，然他来执行部分以实现的方法。
 * 剩余的方法由此类自己实现。
 */
public class SmartPhone implements IPhone {
    private DigitalPhone m_pDigitalPhone;

    public SmartPhone(DigitalPhone pDigitalPhone) {
        this.m_pDigitalPhone = pDigitalPhone;
    }

    @Override
    public void call() {
        this.m_pDigitalPhone.call();
    }

    @Override
    public void wechat() {
        System.out.println("智能手机的发微信功能");
    }
}
